package com.ee.chat.admin.service;

import com.ee.chat.common.bean.Result;
import com.ee.chat.common.entity.User;

import javax.servlet.http.HttpServletRequest;

public interface IUserService {
    /**
     * 获取用户信息列表
     * @Author Shane
     * @Date 2019/9/1110:34
     * @param
     * @return
     **/
    Result list(HttpServletRequest request, Integer page, Integer limit, String keyword, Integer status,
                Integer host, Integer gender, Integer identity, String createTime, String field, String sort) throws Exception;

    /**
     * 编辑用户
     * @Author Shane
     * @Date 2019/9/11 21:55
     * @param
     * @return
     */
    Result toEdit(HttpServletRequest request, Integer id) throws Exception;

    /**
     * 保存用户
     * @Author Shane
     * @Date 2019/9/11 21:55
     * @param
     * @return
     */
    Result edit(HttpServletRequest request, User user) throws Exception;

    /**
     * 禁用用户
     * @Author Shane
     * @Date 2019/9/1118:13
     * @param
     * @return
     **/
    Result updateStatus(HttpServletRequest request, Integer userId, Integer type, Integer hour, Integer recall, String reason) throws Exception;

    Result updAudit(HttpServletRequest request, Integer userId, Integer audit) throws Exception;

    Result disableImei(HttpServletRequest request, Integer userId, String imei, String reason) throws Exception;

    Result toEditInvite(HttpServletRequest request, Integer userId) throws Exception;

    Result editInvite(HttpServletRequest request, Integer editType, Integer userId, Integer type, Integer inviteId) throws Exception;

    /**
     * 用户充值
     * @Author Shane
     * @Date 2019/9/11 21:53
     * @param
     * @return
     */
    Result recharge(HttpServletRequest request, Integer id, Integer type, Double number, String desc) throws Exception;

    Result inviteUserList(HttpServletRequest request, Integer inviteUserId, Integer userId,
                          Integer type, String time, Integer page, Integer limit) throws Exception;

    Result changeGender(HttpServletRequest request, Integer id) throws Exception;

    Result editRemark(HttpServletRequest request, Integer id, String remark) throws Exception;

    Result updateCall(HttpServletRequest request, Integer id, Integer call) throws Exception;

    Result updateIM(HttpServletRequest request, Integer id, Integer im) throws Exception;

    Result updateIPA(HttpServletRequest request, Integer userId, Integer invitePeopleAward) throws Exception;

    Result inviteRechargeList(HttpServletRequest request, Integer inviteUserId, String time, Integer page, Integer limit) throws Exception;

    Result sendMsg(HttpServletRequest request, Integer userId, String msg) throws Exception;

    Result toUserInfo(HttpServletRequest request, Integer id) throws Exception;

    Result toEditImLimit(HttpServletRequest request, Integer userId) throws Exception;

    Result editImLimit(HttpServletRequest request, Integer userId, String type, Integer num, String time) throws Exception;

    Result toEditPayConfig(HttpServletRequest request, Integer userId) throws Exception;

    Result editPayConfig(HttpServletRequest request, Integer userId, Integer payWay, Integer type) throws Exception;

    Result setClean(HttpServletRequest request, Integer userId, Integer clean, String reason) throws Exception;

    Result submitCleanWithdraw(HttpServletRequest request, Integer userId, String alipayName, String alipayNo, Double credit, Double amount) throws Exception;
}
